Considerably speed up GtkUIManager, by changing the semantics of the dirty
authorMatthias Clasen <mclasen@redhat.com>
Thu, 11 Nov 2004 18:13:19 +0000 (18:13 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Thu, 11 Nov 2004 18:13:19 +0000 (18:13 +0000)
commit41628edebb199222c1d3af95af04ec6f1a017b7a
tree1a11a6b5d9fb6e3172a7b52926ccde9b6521704d
parent7b1c2c1bea43085c4218c288a5217c1daebce199
Considerably speed up GtkUIManager, by changing the semantics of the dirty

2004-11-11  Matthias Clasen  <mclasen@redhat.com>

Considerably speed up GtkUIManager, by changing the semantics
of the dirty flag. It is now propagated up the tree, and
update_node() doesn't descend into clean subtrees.  (#143668,
Dave Neary, Michael Natterer, Sven Neumann, fix proposed
by Soeren Sandmann)

* gtk/gtkuimanager.c (node_prepend_ui_reference): Only prepend
a new node reference if the merge_id is different. Take a GNode,
so we can walk up the tree, adjust all callers.
(node_remove_ui_reference): Only mark a node dirty if the first
ui reference is removed. Take a GNode here as well for
consistency.
(update_node): Don't descend into clean subtrees.
(mark_node_dirty): New function to mark a node and its
predecessors dirty.
ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkuimanager.c